/* 
 * File:   Frasco.cpp
 * Author: thiagojesus
 * 
 * Created on May 23, 2012, 8:40 AM
 */

#include "Frasco.h"
#include <fstream>
#include <iostream>
#include "Lista.cpp"

Frasco::Frasco(int _codrot) {
    this->codRotulo = _codrot;
}

Frasco::Frasco(const Frasco& orig) {
    codRotulo = orig.codRotulo;
}

Frasco::~Frasco() {
    
}

Frasco::Frasco(){
    
}

void Frasco::imprimirListaFras(ListaFrasco* d){
    Frasco *aux;
	aux = *d;
        std::cout<<"\t Código dos Frascos disponiveis\n";
	while (aux != NULL){
            std::cout<<"\t"<<aux->codRotulo<<"\n";
            
		aux = aux->prox;
	}
}

void Frasco::salvar(ListaFrasco* p, int nfras){
    std::fstream myfile;
    Frasco *aux;
    int i;
    aux = *p;
    myfile.open("frasco.bin",std::ios::out|std::ios::app|std::ios::binary);
    if(!myfile){
        std::cout<<"ERRO!";
    }else{
        for(i=0;i<nfras;i++){
            myfile<<aux->codRotulo<<"\n";
            aux = aux->prox;
        }
        std::cout<<"arquivo criado com sucesso\n";
        myfile.close();
  
    }
}

long Frasco::carregar(ListaFrasco* p, int nfras, long parou){
    std::fstream myfile;
    int i=0;
    long esta;
    myfile.open("frasco.bin",std::ios::in|std::ios::binary);
    if(!myfile){
        std::cout<<"ERRO!";
    }else{
        myfile.seekg(parou);
        for(i =0; i<nfras;i++){
            Frasco *aux = new Frasco();
            myfile>>aux->codRotulo;
            cadastrar(p,aux);
            }
            
        esta = myfile.tellg();
        myfile.close();
        return esta;
}
}

void Frasco::setCodRotulo(int codRotulo) {
    this->codRotulo = codRotulo;
}

int Frasco::getCodRotulo() const {
    return codRotulo;
}

